home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / clahef.z / clahef
Encoding:
Text File  |  2002-10-03  |  5.7 KB  |  199 lines

  1.  
  2.  
  3.  
  4. CCCCLLLLAAAAHHHHEEEEFFFF((((3333SSSS))))                                                          CCCCLLLLAAAAHHHHEEEEFFFF((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CLAHEF - compute a partial factorization of a complex Hermitian matrix A
  10.      using the Bunch-Kaufman diagonal pivoting method
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE CLAHEF( UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )
  14.  
  15.          CHARACTER      UPLO
  16.  
  17.          INTEGER        INFO, KB, LDA, LDW, N, NB
  18.  
  19.          INTEGER        IPIV( * )
  20.  
  21.          COMPLEX        A( LDA, * ), W( LDW, * )
  22.  
  23. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  24.      These routines are part of the SCSL Scientific Library and can be loaded
  25.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  26.      directs the linker to use the multi-processor version of the library.
  27.  
  28.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  29.      4 bytes (32 bits). Another version of SCSL is available in which integers
  30.      are 8 bytes (64 bits).  This version allows the user access to larger
  31.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  32.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  33.      only one of the two versions; 4-byte integer and 8-byte integer library
  34.      calls cannot be mixed.
  35.  
  36. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  37.      CLAHEF computes a partial factorization of a complex Hermitian matrix A
  38.      using the Bunch-Kaufman diagonal pivoting method. The partial
  39.      factorization has the form:
  40.  
  41.      A  =  ( I  U12 ) ( A11  0  ) (  I    0   )  if UPLO = 'U', or:
  42.            ( 0  U22 ) (  0   D  ) ( U12' U22' )
  43.  
  44.      A  =  ( L11  0 ) (  D   0  ) ( L11' L21' )  if UPLO = 'L'
  45.            ( L21  I ) (  0  A22 ) (  0    I   )
  46.  
  47.      where the order of D is at most NB. The actual order is returned in the
  48.      argument KB, and is either NB or NB-1, or N if N <= NB.  Note that U'
  49.      denotes the conjugate transpose of U.
  50.  
  51.      CLAHEF is an auxiliary routine called by CHETRF. It uses blocked code
  52.      (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22
  53.      (if UPLO = 'L').
  54.  
  55.  
  56. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  57.      UPLO    (input) CHARACTER*1
  58.              Specifies whether the upper or lower triangular part of the
  59.              Hermitian matrix A is stored:
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCLLLLAAAAHHHHEEEEFFFF((((3333SSSS))))                                                          CCCCLLLLAAAAHHHHEEEEFFFF((((3333SSSS))))
  71.  
  72.  
  73.  
  74.              = 'U':  Upper triangular
  75.              = 'L':  Lower triangular
  76.  
  77.      N       (input) INTEGER
  78.              The order of the matrix A.  N >= 0.
  79.  
  80.      NB      (input) INTEGER
  81.              The maximum number of columns of the matrix A that should be
  82.              factored.  NB should be at least 2 to allow for 2-by-2 pivot
  83.              blocks.
  84.  
  85.      KB      (output) INTEGER
  86.              The number of columns of A that were actually factored.  KB is
  87.              either NB-1 or NB, or N if N <= NB.
  88.  
  89.      A       (input/output) COMPLEX array, dimension (LDA,N)
  90.              On entry, the Hermitian matrix A.  If UPLO = 'U', the leading n-
  91.              by-n upper triangular part of A contains the upper triangular
  92.              part of the matrix A, and the strictly lower triangular part of A
  93.              is not referenced.  If UPLO = 'L', the leading n-by-n lower
  94.              triangular part of A contains the lower triangular part of the
  95.              matrix A, and the strictly upper triangular part of A is not
  96.              referenced.  On exit, A contains details of the partial
  97.              factorization.
  98.  
  99.      LDA     (input) INTEGER
  100.              The leading dimension of the array A.  LDA >= max(1,N).
  101.  
  102.      IPIV    (output) INTEGER array, dimension (N)
  103.              Details of the interchanges and the block structure of D.  If
  104.              UPLO = 'U', only the last KB elements of IPIV are set; if UPLO =
  105.              'L', only the first KB elements are set.
  106.  
  107.              If IPIV(k) > 0, then rows and columns k and IPIV(k) were
  108.              interchanged and D(k,k) is a 1-by-1 diagonal block.  If UPLO =
  109.              'U' and IPIV(k) = IPIV(k-1) < 0, then rows and columns k-1 and
  110.              -IPIV(k) were interchanged and D(k-1:k,k-1:k) is a 2-by-2
  111.              diagonal block.  If UPLO = 'L' and IPIV(k) = IPIV(k+1) < 0, then
  112.              rows and columns k+1 and -IPIV(k) were interchanged and
  113.              D(k:k+1,k:k+1) is a 2-by-2 diagonal block.
  114.  
  115.      W       (workspace) COMPLEX array, dimension (LDW,NB)
  116.  
  117.      LDW     (input) INTEGER
  118.              The leading dimension of the array W.  LDW >= max(1,N).
  119.  
  120.      INFO    (output) INTEGER
  121.              = 0: successful exit
  122.              > 0: if INFO = k, D(k,k) is exactly zero.  The factorization has
  123.              been completed, but the block diagonal matrix D is exactly
  124.              singular.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. CCCCLLLLAAAAHHHHEEEEFFFF((((3333SSSS))))                                                          CCCCLLLLAAAAHHHHEEEEFFFF((((3333SSSS))))
  137.  
  138.  
  139.  
  140. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  141.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  142.  
  143.      This man page is available only online.
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.